Data storage devices (DSD), such as conventional hard disk drives (HDD), hybrid hard disk drives (SSHD), or solid state drives (SSD), are typically part of a system including a host which communicates with the SSD to store data on or retrieve data from the DSD. Although conventional DSDs usually have internal power management (PM) and performance settings to more efficiently use power, DSDs generally do not have information about a state of the system outside of the DSD. In addition, users of the system cannot easily adjust the power and performance settings of the DSD.
Because of the importance of preserving data, the use of drivers in managing the storage stack has traditionally been considered risky. Drivers may be too unpredictable for the absolute reliability requirements for storage devices. In addition, the bandwidth and computing power needed for a reliable driver has previously been unavailable or unfeasible.